package com.restaurant.application.indexes.accumulatelist.mysql;

import com.google.common.collect.Lists;
import com.nebutown.generation.Convert;
import com.nebutown.generation.PickableBean;
import com.nebutown.generation.basictype.UID;

import java.util.List;

public class AccumulateListTableCriteria implements PickableBean {
    
    public static final String FN_RECORDID = "recordId";
    public static final String FN_ACCUMULATEEQUALS = "AccumulateEquals";
    public static final String FN_ACCUMULATENOTEQUALS = "AccumulateNotEquals";
    public static final String FN_CUSTOMERNAMELIKE = "customerNameLike";
    public static final String FN_CUSTOMERNAMEEQUALS = "customerNameEquals";
    public static final String FN_CUSTOMERNAMENOTEQUALS = "customerNameNotEquals";
    public static final String FN_CREATETIMEUPPER = "createTimeUpper";
    public static final String FN_CREATETIMELOWER = "createTimeLower";
    public static final String FN_CREATETIMEEQUALS = "createTimeEquals";
    public static final String FN_CREATETIMENOTEQUALS = "createTimeNotEquals";
    public static final String FN_POINTSUPPER = "pointsUpper";
    public static final String FN_POINTSLOWER = "pointsLower";
    public static final String FN_POINTSEQUALS = "pointsEquals";
    public static final String FN_POINTSNOTEQUALS = "pointsNotEquals";
    public static final String FN_TYPELIKE = "typeLike";
    public static final String FN_TYPEEQUALS = "typeEquals";
    public static final String FN_TYPENOTEQUALS = "typeNotEquals";
    public static final String FN_DETAILLIKE = "detailLike";
    public static final String FN_DETAILEQUALS = "detailEquals";
    public static final String FN_DETAILNOTEQUALS = "detailNotEquals";
    public static final String FN_ACTIONLIKE = "actionLike";
    public static final String FN_ACTIONEQUALS = "actionEquals";
    public static final String FN_ACTIONNOTEQUALS = "actionNotEquals";
    public static final String FN_CUSTOMERIDLIKE = "customerIdLike";
    public static final String FN_CUSTOMERIDEQUALS = "customerIdEquals";
    public static final String FN_CUSTOMERIDNOTEQUALS = "customerIdNotEquals";
    public static final String FN_PHONELIKE = "phoneLike";
    public static final String FN_PHONEEQUALS = "phoneEquals";
    public static final String FN_PHONENOTEQUALS = "phoneNotEquals";
    public static final String FN_CUSTOMERUIDEQUALS = "customerUIDEquals";
    public static final String FN_CUSTOMERUIDNOTEQUALS = "customerUIDNotEquals";
    
    public static final List<String> FIELD_NAMES = Lists.newArrayList(
             FN_RECORDID,
             FN_ACCUMULATEEQUALS,
             FN_ACCUMULATENOTEQUALS,
             FN_CUSTOMERNAMELIKE,
             FN_CUSTOMERNAMEEQUALS,
             FN_CUSTOMERNAMENOTEQUALS,
             FN_CREATETIMEUPPER,
             FN_CREATETIMELOWER,
             FN_CREATETIMEEQUALS,
             FN_CREATETIMENOTEQUALS,
            FN_POINTSUPPER,
            FN_POINTSLOWER,
             FN_POINTSEQUALS,
             FN_POINTSNOTEQUALS,
             FN_TYPELIKE,
             FN_TYPEEQUALS,
             FN_TYPENOTEQUALS,
            FN_DETAILLIKE,
             FN_DETAILEQUALS,
             FN_DETAILNOTEQUALS,
             FN_ACTIONLIKE,
             FN_ACTIONEQUALS,
             FN_ACTIONNOTEQUALS,
             FN_CUSTOMERIDLIKE,
             FN_CUSTOMERIDEQUALS,
             FN_CUSTOMERIDNOTEQUALS,
             FN_PHONELIKE,
             FN_PHONEEQUALS,
             FN_PHONENOTEQUALS,
             FN_CUSTOMERUIDEQUALS,
             FN_CUSTOMERUIDNOTEQUALS);
    
    private Long recordId;
    private UID AccumulateEquals;
    private UID AccumulateNotEquals;
    private String customerNameLike;
    private String customerNameEquals;
    private String customerNameNotEquals;
    private Long createTimeUpper;
    private Long createTimeLower;
    private Long createTimeEquals;
    private Long createTimeNotEquals;
    private Long pointsUpper;
    private Long pointsLower;
    private Long pointsEquals;
    private Long pointsNotEquals;
    private String typeLike;
    private String typeEquals;
    private String typeNotEquals;
    private String detailLike;
    private String detailEquals;
    private String detailNotEquals;
    private String actionLike;
    private String actionEquals;
    private String actionNotEquals;
    private String customerIdLike;
    private String customerIdEquals;
    private String customerIdNotEquals;
    private String phoneLike;
    private String phoneEquals;
    private String phoneNotEquals;
    private UID customerUIDEquals;
    private UID customerUIDNotEquals;

    public AccumulateListTableCriteria(Long recordId, UID AccumulateEquals, UID AccumulateNotEquals, String customerNameLike, String customerNameEquals, String customerNameNotEquals, Long createTimeUpper, Long createTimeLower, Long createTimeEquals, Long createTimeNotEquals, Long pointsUpper, Long pointsLower, Long pointsEquals, Long pointsNotEquals, String typeLike, String typeEquals, String typeNotEquals, String detailLike, String detailEquals, String detailNotEquals, String actionLike, String actionEquals, String actionNotEquals, String customerIdLike, String customerIdEquals, String customerIdNotEquals, String phoneLike, String phoneEquals, String phoneNotEquals, UID customerUIDEquals, UID customerUIDNotEquals) {
        setRecordId(recordId);
        setAccumulateEquals(AccumulateEquals);
        setAccumulateNotEquals(AccumulateNotEquals);
        setCustomerNameLike(customerNameLike);
        setCustomerNameEquals(customerNameEquals);
        setCustomerNameNotEquals(customerNameNotEquals);
        setCreateTimeUpper(createTimeUpper);
        setCreateTimeLower(createTimeLower);
        setCreateTimeEquals(createTimeEquals);
        setCreateTimeNotEquals(createTimeNotEquals);
        setPointsUpper(pointsUpper);
        setPointsLower(pointsLower);
        setPointsEquals(pointsEquals);
        setPointsNotEquals(pointsNotEquals);
        setTypeLike(typeLike);
        setTypeEquals(typeEquals);
        setTypeNotEquals(typeNotEquals);
        setDetailLike(detailLike);
        setDetailEquals(detailEquals);
        setDetailNotEquals(detailNotEquals);
        setActionLike(actionLike);
        setActionEquals(actionEquals);
        setActionNotEquals(actionNotEquals);
        setCustomerIdLike(customerIdLike);
        setCustomerIdEquals(customerIdEquals);
        setCustomerIdNotEquals(customerIdNotEquals);
        setPhoneLike(phoneLike);
        setPhoneEquals(phoneEquals);
        setPhoneNotEquals(phoneNotEquals);
        setCustomerUIDEquals(customerUIDEquals);
        setCustomerUIDNotEquals(customerUIDNotEquals);
    }
    
    public AccumulateListTableCriteria() {
    }
    
    public AccumulateListTableCriteria duplicate() {
        AccumulateListTableCriteria result = new AccumulateListTableCriteria();
        result.recordId = this.recordId;
        result.AccumulateEquals = this.AccumulateEquals;
        result.AccumulateNotEquals = this.AccumulateNotEquals;
        result.customerNameLike = this.customerNameLike;
        result.customerNameEquals = this.customerNameEquals;
        result.customerNameNotEquals = this.customerNameNotEquals;
        result.createTimeUpper = this.createTimeUpper;
        result.createTimeLower = this.createTimeLower;
        result.createTimeEquals = this.createTimeEquals;
        result.createTimeNotEquals = this.createTimeNotEquals;
        result.pointsUpper = this.pointsUpper;
        result.pointsLower = this.pointsLower;
        result.pointsEquals = this.pointsEquals;
        result.pointsNotEquals = this.pointsNotEquals;
        result.typeLike = this.typeLike;
        result.typeEquals = this.typeEquals;
        result.typeNotEquals = this.typeNotEquals;
        result.detailLike = this.detailLike;
        result.detailEquals = this.detailEquals;
        result.detailNotEquals = this.detailNotEquals;
        result.actionLike = this.actionLike;
        result.actionEquals = this.actionEquals;
        result.actionNotEquals = this.actionNotEquals;
        result.customerIdLike = this.customerIdLike;
        result.customerIdEquals = this.customerIdEquals;
        result.customerIdNotEquals = this.customerIdNotEquals;
        result.phoneLike = this.phoneLike;
        result.phoneEquals = this.phoneEquals;
        result.phoneNotEquals = this.phoneNotEquals;
        result.customerUIDEquals = this.customerUIDEquals;
        result.customerUIDNotEquals = this.customerUIDNotEquals;
        return result;
    }
    
    @Override
    public String toString() {
        return Convert.toJson(this);
    }
    
    public Long getRecordId() {
        return recordId;
    }
    
    public void  setRecordId(Long value) {
        this.recordId = value;
    }
    
    public AccumulateListTableCriteria withRecordId(Long value) {
        setRecordId(value);
        return this;
    }
    
    public AccumulateListTableCriteria withRecordId(Long value, Long defaultValue) {
        setRecordId(value == null ? defaultValue : value);
        return this;
    }
    
    public UID getAccumulateEquals() {
        return AccumulateEquals;
    }
    
    public void  setAccumulateEquals(UID value) {
        this.AccumulateEquals = value;
    }
    
    public AccumulateListTableCriteria withAccumulateEquals(UID value) {
        setAccumulateEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withAccumulateEquals(UID value, UID defaultValue) {
        setAccumulateEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public UID getAccumulateNotEquals() {
        return AccumulateNotEquals;
    }
    
    public void  setAccumulateNotEquals(UID value) {
        this.AccumulateNotEquals = value;
    }
    
    public AccumulateListTableCriteria withAccumulateNotEquals(UID value) {
        setAccumulateNotEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withAccumulateNotEquals(UID value, UID defaultValue) {
        setAccumulateNotEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public String getCustomerNameLike() {
        return customerNameLike;
    }
    
    public void  setCustomerNameLike(String value) {
        this.customerNameLike = value;
    }
    
    public AccumulateListTableCriteria withCustomerNameLike(String value) {
        setCustomerNameLike(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCustomerNameLike(String value, String defaultValue) {
        setCustomerNameLike(value == null ? defaultValue : value);
        return this;
    }
    
    public String getCustomerNameEquals() {
        return customerNameEquals;
    }
    
    public void  setCustomerNameEquals(String value) {
        this.customerNameEquals = value;
    }
    
    public AccumulateListTableCriteria withCustomerNameEquals(String value) {
        setCustomerNameEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCustomerNameEquals(String value, String defaultValue) {
        setCustomerNameEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public String getCustomerNameNotEquals() {
        return customerNameNotEquals;
    }
    
    public void  setCustomerNameNotEquals(String value) {
        this.customerNameNotEquals = value;
    }
    
    public AccumulateListTableCriteria withCustomerNameNotEquals(String value) {
        setCustomerNameNotEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCustomerNameNotEquals(String value, String defaultValue) {
        setCustomerNameNotEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public Long getCreateTimeUpper() {
        return createTimeUpper;
    }
    
    public void  setCreateTimeUpper(Long value) {
        this.createTimeUpper = value;
    }
    
    public AccumulateListTableCriteria withCreateTimeUpper(Long value) {
        setCreateTimeUpper(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCreateTimeUpper(Long value, Long defaultValue) {
        setCreateTimeUpper(value == null ? defaultValue : value);
        return this;
    }
    
    public Long getCreateTimeLower() {
        return createTimeLower;
    }
    
    public void  setCreateTimeLower(Long value) {
        this.createTimeLower = value;
    }
    
    public AccumulateListTableCriteria withCreateTimeLower(Long value) {
        setCreateTimeLower(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCreateTimeLower(Long value, Long defaultValue) {
        setCreateTimeLower(value == null ? defaultValue : value);
        return this;
    }
    
    public Long getCreateTimeEquals() {
        return createTimeEquals;
    }
    
    public void  setCreateTimeEquals(Long value) {
        this.createTimeEquals = value;
    }
    
    public AccumulateListTableCriteria withCreateTimeEquals(Long value) {
        setCreateTimeEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCreateTimeEquals(Long value, Long defaultValue) {
        setCreateTimeEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public Long getCreateTimeNotEquals() {
        return createTimeNotEquals;
    }
    
    public void  setCreateTimeNotEquals(Long value) {
        this.createTimeNotEquals = value;
    }
    
    public AccumulateListTableCriteria withCreateTimeNotEquals(Long value) {
        setCreateTimeNotEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCreateTimeNotEquals(Long value, Long defaultValue) {
        setCreateTimeNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getPointsUpper() {
        return pointsUpper;
    }

    public void setPointsUpper(Long value) {
        this.pointsUpper = value;
    }

    public AccumulateListTableCriteria withPointsUpper(Long value) {
        setPointsUpper(value);
        return this;
    }

    public AccumulateListTableCriteria withPointsUpper(Long value, Long defaultValue) {
        setPointsUpper(value == null ? defaultValue : value);
        return this;
    }

    public Long getPointsLower() {
        return pointsLower;
    }

    public void setPointsLower(Long value) {
        this.pointsLower = value;
    }

    public AccumulateListTableCriteria withPointsLower(Long value) {
        setPointsLower(value);
        return this;
    }

    public AccumulateListTableCriteria withPointsLower(Long value, Long defaultValue) {
        setPointsLower(value == null ? defaultValue : value);
        return this;
    }

    public Long getPointsEquals() {
        return pointsEquals;
    }

    public void setPointsEquals(Long value) {
        this.pointsEquals = value;
    }

    public AccumulateListTableCriteria withPointsEquals(Long value) {
        setPointsEquals(value);
        return this;
    }

    public AccumulateListTableCriteria withPointsEquals(Long value, Long defaultValue) {
        setPointsEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getPointsNotEquals() {
        return pointsNotEquals;
    }

    public void setPointsNotEquals(Long value) {
        this.pointsNotEquals = value;
    }

    public AccumulateListTableCriteria withPointsNotEquals(Long value) {
        setPointsNotEquals(value);
        return this;
    }

    public AccumulateListTableCriteria withPointsNotEquals(Long value, Long defaultValue) {
        setPointsNotEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public String getTypeLike() {
        return typeLike;
    }
    
    public void  setTypeLike(String value) {
        this.typeLike = value;
    }
    
    public AccumulateListTableCriteria withTypeLike(String value) {
        setTypeLike(value);
        return this;
    }
    
    public AccumulateListTableCriteria withTypeLike(String value, String defaultValue) {
        setTypeLike(value == null ? defaultValue : value);
        return this;
    }
    
    public String getTypeEquals() {
        return typeEquals;
    }
    
    public void  setTypeEquals(String value) {
        this.typeEquals = value;
    }
    
    public AccumulateListTableCriteria withTypeEquals(String value) {
        setTypeEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withTypeEquals(String value, String defaultValue) {
        setTypeEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public String getTypeNotEquals() {
        return typeNotEquals;
    }
    
    public void  setTypeNotEquals(String value) {
        this.typeNotEquals = value;
    }
    
    public AccumulateListTableCriteria withTypeNotEquals(String value) {
        setTypeNotEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withTypeNotEquals(String value, String defaultValue) {
        setTypeNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getDetailLike() {
        return detailLike;
    }

    public void setDetailLike(String value) {
        this.detailLike = value;
    }

    public AccumulateListTableCriteria withDetailLike(String value) {
        setDetailLike(value);
        return this;
    }

    public AccumulateListTableCriteria withDetailLike(String value, String defaultValue) {
        setDetailLike(value == null ? defaultValue : value);
        return this;
    }

    public String getDetailEquals() {
        return detailEquals;
    }

    public void setDetailEquals(String value) {
        this.detailEquals = value;
    }

    public AccumulateListTableCriteria withDetailEquals(String value) {
        setDetailEquals(value);
        return this;
    }

    public AccumulateListTableCriteria withDetailEquals(String value, String defaultValue) {
        setDetailEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getDetailNotEquals() {
        return detailNotEquals;
    }

    public void setDetailNotEquals(String value) {
        this.detailNotEquals = value;
    }

    public AccumulateListTableCriteria withDetailNotEquals(String value) {
        setDetailNotEquals(value);
        return this;
    }

    public AccumulateListTableCriteria withDetailNotEquals(String value, String defaultValue) {
        setDetailNotEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public String getActionLike() {
        return actionLike;
    }
    
    public void  setActionLike(String value) {
        this.actionLike = value;
    }
    
    public AccumulateListTableCriteria withActionLike(String value) {
        setActionLike(value);
        return this;
    }
    
    public AccumulateListTableCriteria withActionLike(String value, String defaultValue) {
        setActionLike(value == null ? defaultValue : value);
        return this;
    }
    
    public String getActionEquals() {
        return actionEquals;
    }
    
    public void  setActionEquals(String value) {
        this.actionEquals = value;
    }
    
    public AccumulateListTableCriteria withActionEquals(String value) {
        setActionEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withActionEquals(String value, String defaultValue) {
        setActionEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public String getActionNotEquals() {
        return actionNotEquals;
    }
    
    public void  setActionNotEquals(String value) {
        this.actionNotEquals = value;
    }
    
    public AccumulateListTableCriteria withActionNotEquals(String value) {
        setActionNotEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withActionNotEquals(String value, String defaultValue) {
        setActionNotEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public String getCustomerIdLike() {
        return customerIdLike;
    }
    
    public void  setCustomerIdLike(String value) {
        this.customerIdLike = value;
    }
    
    public AccumulateListTableCriteria withCustomerIdLike(String value) {
        setCustomerIdLike(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCustomerIdLike(String value, String defaultValue) {
        setCustomerIdLike(value == null ? defaultValue : value);
        return this;
    }
    
    public String getCustomerIdEquals() {
        return customerIdEquals;
    }
    
    public void  setCustomerIdEquals(String value) {
        this.customerIdEquals = value;
    }
    
    public AccumulateListTableCriteria withCustomerIdEquals(String value) {
        setCustomerIdEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCustomerIdEquals(String value, String defaultValue) {
        setCustomerIdEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public String getCustomerIdNotEquals() {
        return customerIdNotEquals;
    }
    
    public void  setCustomerIdNotEquals(String value) {
        this.customerIdNotEquals = value;
    }
    
    public AccumulateListTableCriteria withCustomerIdNotEquals(String value) {
        setCustomerIdNotEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCustomerIdNotEquals(String value, String defaultValue) {
        setCustomerIdNotEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public String getPhoneLike() {
        return phoneLike;
    }
    
    public void  setPhoneLike(String value) {
        this.phoneLike = value;
    }
    
    public AccumulateListTableCriteria withPhoneLike(String value) {
        setPhoneLike(value);
        return this;
    }
    
    public AccumulateListTableCriteria withPhoneLike(String value, String defaultValue) {
        setPhoneLike(value == null ? defaultValue : value);
        return this;
    }
    
    public String getPhoneEquals() {
        return phoneEquals;
    }
    
    public void  setPhoneEquals(String value) {
        this.phoneEquals = value;
    }
    
    public AccumulateListTableCriteria withPhoneEquals(String value) {
        setPhoneEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withPhoneEquals(String value, String defaultValue) {
        setPhoneEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public String getPhoneNotEquals() {
        return phoneNotEquals;
    }
    
    public void  setPhoneNotEquals(String value) {
        this.phoneNotEquals = value;
    }
    
    public AccumulateListTableCriteria withPhoneNotEquals(String value) {
        setPhoneNotEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withPhoneNotEquals(String value, String defaultValue) {
        setPhoneNotEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public UID getCustomerUIDEquals() {
        return customerUIDEquals;
    }
    
    public void  setCustomerUIDEquals(UID value) {
        this.customerUIDEquals = value;
    }
    
    public AccumulateListTableCriteria withCustomerUIDEquals(UID value) {
        setCustomerUIDEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCustomerUIDEquals(UID value, UID defaultValue) {
        setCustomerUIDEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public UID getCustomerUIDNotEquals() {
        return customerUIDNotEquals;
    }
    
    public void  setCustomerUIDNotEquals(UID value) {
        this.customerUIDNotEquals = value;
    }
    
    public AccumulateListTableCriteria withCustomerUIDNotEquals(UID value) {
        setCustomerUIDNotEquals(value);
        return this;
    }
    
    public AccumulateListTableCriteria withCustomerUIDNotEquals(UID value, UID defaultValue) {
        setCustomerUIDNotEquals(value == null ? defaultValue : value);
        return this;
    }
    
    public Object getValueOf(String name) {
        switch(name) {
        case "recordId": return getRecordId();
        case "AccumulateEquals": return getAccumulateEquals();
        case "AccumulateNotEquals": return getAccumulateNotEquals();
        case "customerNameLike": return getCustomerNameLike();
        case "customerNameEquals": return getCustomerNameEquals();
        case "customerNameNotEquals": return getCustomerNameNotEquals();
        case "createTimeUpper": return getCreateTimeUpper();
        case "createTimeLower": return getCreateTimeLower();
        case "createTimeEquals": return getCreateTimeEquals();
        case "createTimeNotEquals": return getCreateTimeNotEquals();
            case "pointsUpper":
                return getPointsUpper();
            case "pointsLower":
                return getPointsLower();
        case "pointsEquals": return getPointsEquals();
        case "pointsNotEquals": return getPointsNotEquals();
        case "typeLike": return getTypeLike();
        case "typeEquals": return getTypeEquals();
        case "typeNotEquals": return getTypeNotEquals();
            case "detailLike":
                return getDetailLike();
        case "detailEquals": return getDetailEquals();
        case "detailNotEquals": return getDetailNotEquals();
        case "actionLike": return getActionLike();
        case "actionEquals": return getActionEquals();
        case "actionNotEquals": return getActionNotEquals();
        case "customerIdLike": return getCustomerIdLike();
        case "customerIdEquals": return getCustomerIdEquals();
        case "customerIdNotEquals": return getCustomerIdNotEquals();
        case "phoneLike": return getPhoneLike();
        case "phoneEquals": return getPhoneEquals();
        case "phoneNotEquals": return getPhoneNotEquals();
        case "customerUIDEquals": return getCustomerUIDEquals();
        case "customerUIDNotEquals": return getCustomerUIDNotEquals();
        }
        return null;
    }
    
    public boolean hasField(String name) {
        return FIELD_NAMES.contains(name);
    }
    
    @Override
    public int hashCode() {
        return signature().hashCode();
    }
    
    @Override
    public boolean equals(Object o) {
        if(!(o instanceof AccumulateListTableCriteria)) return false;
        return signature().equals(((AccumulateListTableCriteria)o).signature());
    }
    
    public String signature() {
        throw new RuntimeException("Bean AccumulateListTableCriteria has no signature defined, no hash code or equals possible.");
    }
}
